Various aspects of the present invention relate generally to managing messaging on an application server in a virtual machine environment.
An application server is a component-based product that resides on the middle tier of a server-centric architecture. All J2EE (Java 2 Platform, Enterprise Edition) application servers run within a Java virtual machine (JVM), which includes a heap. When communicating between two or more clients, a messaging engine is used to facilitate messaging between the clients. A destination is an object the client uses to specify the target of messages it produces and the source of messages it consumes. In point-to-point messaging, one destination communicates directly with another destination (i.e., each produced message has only one consumer). In publish/subscribe (i.e., pub/sub) messaging a destination produces messages (i.e., producer) and multiple destinations (i.e., consumers) can subscribe to the producer to consume the published messages. Most messaging engines support both the point-to-point and pub/sub domains.